import axios from 'axios'
import { Toast } from 'vant';
import router from '@/router'
import { getToken } from './token';
const request=axios.create({
    baseURL:'http://toutiao.itheima.net',
    timeout:2000
})
// 拦截器
// 请求拦截器
request.interceptors.request.use(function (config) {
    /**
     * @target 同意携带token
     * @token 判断是请求头否携带toke，没有则会添加
     * @?. 可选链操作符 
     */
    if(getToken()?.length>0&&config.headers.Authorization===undefined){
        config.headers.Authorization=`Bearer ${getToken()}`
    }
    return config;
    
  }, function (error) {
    return Promise.reject(error);
  });

// 响应拦截器
request.interceptors.response.use(function (response) {
    return response;
  }, function (error) {
    //   console.dir(error)
      if(error.response.status===401){
          Toast.fail('您的身份已过期，请重新登录')
          router.replace('/login')
      }

    return Promise.reject(error);
  });
  

export default ({url,method='get',params={},data={},headers={}})=>{
    return request({
        url,
        method,
        params,
        data,
        headers
    })
}